# coding=utf8

# Copyright 2018 JDCLOUD.COM
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# NOTE: This class is auto generated by the jdcloud code generator program.


class ForwardProtectionRuleSpec(object):

    def __init__(self, spoofIpEnable, srcNewConnLimitEnable, srcNewConnLimitValue, srcConcurrentConnLimitEnable, srcConcurrentConnLimitValue, dstNewConnLimitEnable, dstNewConnLimitValue, dstConcurrentConnLimitEnable, dstConcurrentConnLimitValue, datagramRangeMin, datagramRangeMax, geoBlackList=None):
        """
        :param spoofIpEnable:  虚假源与空连接, 0: 关闭, 1: 开启
        :param srcNewConnLimitEnable:  源新建连接限速, 0: 关闭, 1: 开启
        :param srcNewConnLimitValue:  源新建连接速率
        :param srcConcurrentConnLimitEnable:  源并发连接限速, 0: 关闭, 1: 开启
        :param srcConcurrentConnLimitValue:  源并发连接速率
        :param dstNewConnLimitEnable:  目的新建连接, 0: 关闭, 1: 开启
        :param dstNewConnLimitValue:  目的新建连接速率
        :param dstConcurrentConnLimitEnable:  目的并发连接, 0: 关闭, 1: 开启
        :param dstConcurrentConnLimitValue:  目的并发连接速率
        :param datagramRangeMin:  报文最小长度, 取值范围[0, datagramRangeMax)
        :param datagramRangeMax:  报文最大长度, 取值范围(datagramRangeMin, 1518]
        :param geoBlackList: (Optional) geo 拦截地域编码列表. 查询 <a href="http://docs.jdcloud.com/anti-ddos-pro/api/describegeoareas">describeGeoAreas</a> 接口获取可设置的地域编码列表
        """

        self.spoofIpEnable = spoofIpEnable
        self.srcNewConnLimitEnable = srcNewConnLimitEnable
        self.srcNewConnLimitValue = srcNewConnLimitValue
        self.srcConcurrentConnLimitEnable = srcConcurrentConnLimitEnable
        self.srcConcurrentConnLimitValue = srcConcurrentConnLimitValue
        self.dstNewConnLimitEnable = dstNewConnLimitEnable
        self.dstNewConnLimitValue = dstNewConnLimitValue
        self.dstConcurrentConnLimitEnable = dstConcurrentConnLimitEnable
        self.dstConcurrentConnLimitValue = dstConcurrentConnLimitValue
        self.datagramRangeMin = datagramRangeMin
        self.datagramRangeMax = datagramRangeMax
        self.geoBlackList = geoBlackList
